package com.zenagro.domain.zenagro.expedicion;

import javax.persistence.*;

import org.openxava.annotations.*;

import com.zenagro.domain.zenagro.*;
import com.zenagro.domain.zenagro.base.*;
import com.zenagro.validators.*;

@Entity
@EntityValidator(value=CargaValidator.class, properties={@PropertyValue(name="compartimento"),@PropertyValue(name="cantidad")})

@Table(name="carga")

@Tab(properties="fertilizante.nombre,compartimento.camion.matricula,cantidad")
public class Carga extends Identificable {

	@Required
	@Column(name="cantidad")
	private Pedido pedido;
	
	@Required @NoCreate @NoModify
    @ManyToOne //(fetch=FetchType.LAZY ,optional=false) Parece que el lazy da algun problema con JPaCloner!!!!
    @JoinColumn(name="fertilizante_id", referencedColumnName = "id", nullable=false,  unique=false  )
	@ReferenceView("reference")
	private Fertilizante fertilizante;

	@Required @NoCreate @NoModify
    @ManyToOne //(fetch=FetchType.LAZY ,optional=false) Parece que el lazy da algun problema con JPaCloner!!!!
    @JoinColumn(name="compartimento_id", referencedColumnName = "id", nullable=false,  unique=false  )
	private Compartimento compartimento;
	
	public Pedido getPedido() {
		return pedido;
	}

	public void setPedido(Pedido pedido) {
		this.pedido = pedido;
	}

	public Fertilizante getFertilizante() {
		return fertilizante;
	}

	public void setFertilizante(Fertilizante fertilizante) {
		this.fertilizante = fertilizante;
	}

	public Compartimento getCompartimento() {
		return compartimento;
	}

	public void setCompartimento(Compartimento compartimento) {
		this.compartimento = compartimento;
	}
	
	
	
	
}
